<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Xfconf Library Core: xfconf Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="xfconf Reference Manual">
<link rel="up" href="ch03.html" title="Xfconf Client Library">
<link rel="prev" href="ch03.html" title="Xfconf Client Library">
<link rel="next" href="xfconf-Xfconf-Channel.html" title="Xfconf Channel">
<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#xfconf-Xfconf-Library-Core.description" class="shortcut">Description</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="ch03.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="ch03.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="xfconf-Xfconf-Channel.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="xfconf-Xfconf-Library-Core"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="xfconf-Xfconf-Library-Core.top_of_page"></a>Xfconf Library Core</span></h2>
<p>Xfconf Library Core — Init routines and core functionality for libxfconf</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="xfconf-Xfconf-Library-Core.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_proto_type">
<col class="functions_proto_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-init" title="xfconf_init ()">xfconf_init</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-shutdown" title="xfconf_shutdown ()">xfconf_shutdown</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-named-struct-register" title="xfconf_named_struct_register ()">xfconf_named_struct_register</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-array-free" title="xfconf_array_free ()">xfconf_array_free</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
</td>
<td class="function_name">
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-list-channels" title="xfconf_list_channels ()">xfconf_list_channels</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="xfconf-Xfconf-Library-Core.description"></a><h2>Description</h2>
<p>Before libxfconf can be used, it must be initialized by calling
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-init" title="xfconf_init ()"><code class="function">xfconf_init()</code></a>.  To free resources used by the library, call
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-shutdown" title="xfconf_shutdown ()"><code class="function">xfconf_shutdown()</code></a>.  These calls are "recursive": multiple calls to
<a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-init" title="xfconf_init ()"><code class="function">xfconf_init()</code></a> are allowed, but each call must be matched by a
separate call to <a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-shutdown" title="xfconf_shutdown ()"><code class="function">xfconf_shutdown()</code></a> to really free the library's
resources.</p>
</div>
<div class="refsect1">
<a name="xfconf-Xfconf-Library-Core.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="xfconf-init"></a><h3>xfconf_init ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
xfconf_init (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Initializes the Xfconf library.  Can be called multiple times with no
adverse effects.</p>
<div class="refsect3">
<a name="xfconf-init.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>An error return.</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="xfconf-init.returns"></a><h4>Returns</h4>
<p> <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the library was initialized succesfully, <a href="/usr/share/gtk-doc/html/glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> on
error.  If there is an error <em class="parameter"><code>error</code></em>
will be set.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xfconf-shutdown"></a><h3>xfconf_shutdown ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
xfconf_shutdown (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Shuts down and frees any resources consumed by the Xfconf library.
If <a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-init" title="xfconf_init ()"><code class="function">xfconf_init()</code></a> is called multiple times, <a class="link" href="xfconf-Xfconf-Library-Core.html#xfconf-shutdown" title="xfconf_shutdown ()"><code class="function">xfconf_shutdown()</code></a> must be
called an equal number of times to shut down the library.</p>
</div>
<hr>
<div class="refsect2">
<a name="xfconf-named-struct-register"></a><h3>xfconf_named_struct_register ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
xfconf_named_struct_register (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *struct_name</code></em>,
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#guint"><span class="type">guint</span></a> n_members</code></em>,
                              <em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a> *member_types</code></em>);</pre>
<p>Registers a named struct for use with <a class="link" href="xfconf-Xfconf-Channel.html#xfconf-channel-get-named-struct" title="xfconf_channel_get_named_struct ()"><code class="function">xfconf_channel_get_named_struct()</code></a>
and <a class="link" href="xfconf-Xfconf-Channel.html#xfconf-channel-set-named-struct" title="xfconf_channel_set_named_struct ()"><code class="function">xfconf_channel_set_named_struct()</code></a>.</p>
<div class="refsect3">
<a name="xfconf-named-struct-register.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>struct_name</p></td>
<td class="parameter_description"><p>The unique name of the struct to register.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>n_members</p></td>
<td class="parameter_description"><p>The number of data members in the struct.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>member_types</p></td>
<td class="parameter_description"><p>An array of the <a href="/usr/share/gtk-doc/html/gobject/gobject-Type-Information.html#GType"><span class="type">GType</span></a>s of the struct members.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xfconf-array-free"></a><h3>xfconf_array_free ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
xfconf_array_free (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *arr</code></em>);</pre>
<p>Properly frees a <a href="/usr/share/gtk-doc/html/glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> structure containing a list of
<a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue-struct"><span class="type">GValue</span></a>s.  This will also cause the contents of the
values to be freed as well.</p>
<div class="refsect3">
<a name="xfconf-array-free.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>arr</p></td>
<td class="parameter_description"><p>A <a href="/usr/share/gtk-doc/html/glib/glib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> of <a href="/usr/share/gtk-doc/html/gobject/gobject-Generic-values.html#GValue-struct"><span class="type">GValue</span></a>s. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue]</span></td>
</tr></tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="xfconf-list-channels"></a><h3>xfconf_list_channels ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> **
xfconf_list_channels (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
<p>Lists all channels known in the Xfconf configuration store.</p>
<div class="refsect3">
<a name="xfconf-list-channels.returns"></a><h4>Returns</h4>
<p>A newly-allocated array of strings.
Free with <a href="/usr/share/gtk-doc/html/glib/glib-String-Utility-Functions.html#g-strfreev"><code class="function">g_strfreev()</code></a> when no longer needed. </p>
<p><span class="annotation">[<acronym title="The data is owned by the callee, which is responsible of freeing it."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> utf8]</span></p>
</div>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.33.1</div>
</body>
</html>